<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PDNSim: src/node.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">PDNSim
   </div>
   <div id="projectbrief">Power grid analysis</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">node.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="node_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">BSD 3-Clause License</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">Copyright (c) 2020, The Regents of the University of Minnesota</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">All rights reserved.</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">Redistribution and use in source and binary forms, with or without</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">modification, are permitted provided that the following conditions are met:</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">* Redistributions of source code must retain the above copyright notice, this</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">  list of conditions and the following disclaimer.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">* Redistributions in binary form must reproduce the above copyright notice,</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">  this list of conditions and the following disclaimer in the documentation</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">  and/or other materials provided with the distribution.</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">* Neither the name of the copyright holder nor the names of its</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">  contributors may be used to endorse or promote products derived from</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">  this software without specific prior written permission.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef __IRSOLVER_NODE__</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#define __IRSOLVER_NODE__</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="node_8h.html#a8457e7507941d06122aaf5c4ac260995">   40</a></span>&#160;<span class="keyword">typedef</span> std::pair&lt;int, int&gt;         <a class="code" href="node_8h.html#a8457e7507941d06122aaf5c4ac260995">NodeLoc</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="node_8h.html#acf0ff4a0bb7e0c9b5900382cbd2aa614">   41</a></span>&#160;<span class="keyword">typedef</span> std::pair&lt;int, int&gt;         <a class="code" href="node_8h.html#acf0ff4a0bb7e0c9b5900382cbd2aa614">BBox</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">   42</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">int</span>                         <a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>;  <span class="comment">// TODO temp as it interfaces with SUPERLU</span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="node_8h.html#aaffe095b1e5d88040e6ca3976576fccf">   43</a></span>&#160;<span class="keyword">typedef</span> std::pair&lt;NodeIdx, NodeIdx&gt; <a class="code" href="node_8h.html#aaffe095b1e5d88040e6ca3976576fccf">GMatLoc</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structDokMatrix.html">   46</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structDokMatrix.html#a653139601f15712d7fea0179d19824a1">   48</a></span>&#160;  <a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>                   <a class="code" href="structDokMatrix.html#a653139601f15712d7fea0179d19824a1">num_rows</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structDokMatrix.html#a6d86fd874eb6e507f339699bc0764230">   49</a></span>&#160;  <a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>                   <a class="code" href="structDokMatrix.html#a6d86fd874eb6e507f339699bc0764230">num_cols</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structDokMatrix.html#a1474a0133b470ffb7058cc88962046e6">   50</a></span>&#160;  std::map&lt;GMatLoc, double&gt; <a class="code" href="structDokMatrix.html#a1474a0133b470ffb7058cc88962046e6">values</a>;  <span class="comment">// pair &lt; col_num, row_num &gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;} <a class="code" href="structDokMatrix.html">DokMatrix</a>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structCscMatrix.html">   54</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;{</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structCscMatrix.html#a9e6fea3106af21e3c05e1c497e0ee69f">   56</a></span>&#160;  <a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>              <a class="code" href="structCscMatrix.html#a9e6fea3106af21e3c05e1c497e0ee69f">num_rows</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structCscMatrix.html#add293b1d06d14359190fc4cb3fd35714">   57</a></span>&#160;  <a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>              <a class="code" href="structCscMatrix.html#add293b1d06d14359190fc4cb3fd35714">num_cols</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structCscMatrix.html#ae5f18924a98bd8115bd34bb5a61bf1c1">   58</a></span>&#160;  <a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>              <a class="code" href="structCscMatrix.html#ae5f18924a98bd8115bd34bb5a61bf1c1">nnz</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structCscMatrix.html#a2eef34de7f3687351e18cb8e1da74329">   59</a></span>&#160;  std::vector&lt;NodeIdx&gt; <a class="code" href="structCscMatrix.html#a2eef34de7f3687351e18cb8e1da74329">row_idx</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structCscMatrix.html#a6bd9ad7395e2e10ee4bb0cf9c1e1ddc9">   60</a></span>&#160;  std::vector&lt;NodeIdx&gt; <a class="code" href="structCscMatrix.html#a6bd9ad7395e2e10ee4bb0cf9c1e1ddc9">col_ptr</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structCscMatrix.html#ae540c6a54027394970614fe75f20d68a">   61</a></span>&#160;  std::vector&lt;double&gt;  <a class="code" href="structCscMatrix.html#ae540c6a54027394970614fe75f20d68a">values</a>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;} <a class="code" href="structCscMatrix.html">CscMatrix</a>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classNode.html">   65</a></span>&#160;<span class="keyword">class </span><a class="code" href="classNode.html">Node</a></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;{</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classNode.html#ad7a34779cad45d997bfd6d3d8043c75f">   68</a></span>&#160;  <a class="code" href="classNode.html#ad7a34779cad45d997bfd6d3d8043c75f">Node</a>() : m_loc(<a class="code" href="namespacestd.html">std</a>::make_pair(0.0, 0.0)), m_bBox(<a class="code" href="namespacestd.html">std</a>::make_pair(0.0, 0.0)) {}</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classNode.html#aa0840c3cb5c7159be6d992adecd2097c">   69</a></span>&#160;  <a class="code" href="classNode.html#aa0840c3cb5c7159be6d992adecd2097c">~Node</a>() {}</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="keywordtype">int</span>     <a class="code" href="classNode.html#a5937a2591132f22361ce12edfe6af39f">GetLayerNum</a>();</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#a9ae3dca8ba172157836ca70eede370c5">SetLayerNum</a>(<span class="keywordtype">int</span> layer);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <a class="code" href="node_8h.html#a8457e7507941d06122aaf5c4ac260995">NodeLoc</a> <a class="code" href="classNode.html#a02cc6f413616e5a1314ef708505ccdce">GetLoc</a>();</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#ab228394a1e206cf5d1bc995307f70f56">SetLoc</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#ab228394a1e206cf5d1bc995307f70f56">SetLoc</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> l);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a> <a class="code" href="classNode.html#ad65d1c171a8fd20ef1a55ed040f11b75">GetGLoc</a>();</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#a28572563d5947aa39b51b4c0f848e432">SetGLoc</a>(<a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a> loc);</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#a297f77156d63d571f7014c78f79841af">Print</a>();</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#ace2ee184ee4290c20cffc937435de6fc">SetBbox</a>(<span class="keywordtype">int</span> dX, <span class="keywordtype">int</span> dY);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <a class="code" href="node_8h.html#acf0ff4a0bb7e0c9b5900382cbd2aa614">BBox</a>    <a class="code" href="classNode.html#a4a5391ab70a61e5bf4d2daef056a434c">GetBbox</a>();</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#a58172b29bbb26738beb36ea9c4a2f448">UpdateMaxBbox</a>(<span class="keywordtype">int</span> dX, <span class="keywordtype">int</span> dY);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#a359b49b9f2790426c97be364f76ce9a2">SetCurrent</a>(<span class="keywordtype">double</span> t_current);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keywordtype">double</span>  <a class="code" href="classNode.html#aa91dbf36b0f693850cf422bebb7632ee">GetCurrent</a>();</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#a252ea83ae41b143c652701749de63199">AddCurrentSrc</a>(<span class="keywordtype">double</span> t_current);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  <span class="keywordtype">void</span>    <a class="code" href="classNode.html#af5846cceb0ea097fdfba48152402c152">SetVoltage</a>(<span class="keywordtype">double</span> t_voltage);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="keywordtype">double</span>  <a class="code" href="classNode.html#ad924c345106b6e7b0847762290052fac">GetVoltage</a>();</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keywordtype">int</span>     m_layer;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <a class="code" href="node_8h.html#a8457e7507941d06122aaf5c4ac260995">NodeLoc</a> m_loc;  <span class="comment">// layer,x,y</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <a class="code" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a> m_node_loc{0};</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <a class="code" href="node_8h.html#acf0ff4a0bb7e0c9b5900382cbd2aa614">BBox</a>    m_bBox;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keywordtype">double</span>  m_current_src{0.0};</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keywordtype">double</span>  m_voltage{0.0};</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;};</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="classNode_html_a28572563d5947aa39b51b4c0f848e432"><div class="ttname"><a href="classNode.html#a28572563d5947aa39b51b4c0f848e432">Node::SetGLoc</a></div><div class="ttdeci">void SetGLoc(NodeIdx loc)</div><div class="ttdoc">Get location of the node in G matrix. </div><div class="ttdef"><b>Definition:</b> node.cpp:106</div></div>
<div class="ttc" id="classNode_html_a9ae3dca8ba172157836ca70eede370c5"><div class="ttname"><a href="classNode.html#a9ae3dca8ba172157836ca70eede370c5">Node::SetLayerNum</a></div><div class="ttdeci">void SetLayerNum(int layer)</div><div class="ttdoc">Set the layer number of the node. </div><div class="ttdef"><b>Definition:</b> node.cpp:54</div></div>
<div class="ttc" id="structCscMatrix_html_a2eef34de7f3687351e18cb8e1da74329"><div class="ttname"><a href="structCscMatrix.html#a2eef34de7f3687351e18cb8e1da74329">CscMatrix::row_idx</a></div><div class="ttdeci">std::vector&lt; NodeIdx &gt; row_idx</div><div class="ttdef"><b>Definition:</b> node.h:59</div></div>
<div class="ttc" id="classNode_html_a02cc6f413616e5a1314ef708505ccdce"><div class="ttname"><a href="classNode.html#a02cc6f413616e5a1314ef708505ccdce">Node::GetLoc</a></div><div class="ttdeci">NodeLoc GetLoc()</div><div class="ttdoc">Get the location of the node. </div><div class="ttdef"><b>Definition:</b> node.cpp:64</div></div>
<div class="ttc" id="node_8h_html_a5b622fe4354316a2f349615d150ae998"><div class="ttname"><a href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a></div><div class="ttdeci">int NodeIdx</div><div class="ttdef"><b>Definition:</b> node.h:42</div></div>
<div class="ttc" id="classNode_html"><div class="ttname"><a href="classNode.html">Node</a></div><div class="ttdoc">Node class which stores the properties of the node of the PDN. </div><div class="ttdef"><b>Definition:</b> node.h:65</div></div>
<div class="ttc" id="classNode_html_a359b49b9f2790426c97be364f76ce9a2"><div class="ttname"><a href="classNode.html#a359b49b9f2790426c97be364f76ce9a2">Node::SetCurrent</a></div><div class="ttdeci">void SetCurrent(double t_current)</div><div class="ttdoc">Function to set the current value at a particular node. </div><div class="ttdef"><b>Definition:</b> node.cpp:153</div></div>
<div class="ttc" id="classNode_html_ad7a34779cad45d997bfd6d3d8043c75f"><div class="ttname"><a href="classNode.html#ad7a34779cad45d997bfd6d3d8043c75f">Node::Node</a></div><div class="ttdeci">Node()</div><div class="ttdef"><b>Definition:</b> node.h:68</div></div>
<div class="ttc" id="classNode_html_af5846cceb0ea097fdfba48152402c152"><div class="ttname"><a href="classNode.html#af5846cceb0ea097fdfba48152402c152">Node::SetVoltage</a></div><div class="ttdeci">void SetVoltage(double t_voltage)</div><div class="ttdoc">Function to set the value of the voltage source. </div><div class="ttdef"><b>Definition:</b> node.cpp:178</div></div>
<div class="ttc" id="structDokMatrix_html"><div class="ttname"><a href="structDokMatrix.html">DokMatrix</a></div><div class="ttdoc">Data structure for the Dictionary of Keys Matrix. </div><div class="ttdef"><b>Definition:</b> node.h:46</div></div>
<div class="ttc" id="classNode_html_ace2ee184ee4290c20cffc937435de6fc"><div class="ttname"><a href="classNode.html#ace2ee184ee4290c20cffc937435de6fc">Node::SetBbox</a></div><div class="ttdeci">void SetBbox(int dX, int dY)</div><div class="ttdoc">Function to set the bounding box of the stripe. </div><div class="ttdef"><b>Definition:</b> node.cpp:124</div></div>
<div class="ttc" id="structCscMatrix_html_ae540c6a54027394970614fe75f20d68a"><div class="ttname"><a href="structCscMatrix.html#ae540c6a54027394970614fe75f20d68a">CscMatrix::values</a></div><div class="ttdeci">std::vector&lt; double &gt; values</div><div class="ttdef"><b>Definition:</b> node.h:61</div></div>
<div class="ttc" id="node_8h_html_a8457e7507941d06122aaf5c4ac260995"><div class="ttname"><a href="node_8h.html#a8457e7507941d06122aaf5c4ac260995">NodeLoc</a></div><div class="ttdeci">std::pair&lt; int, int &gt; NodeLoc</div><div class="ttdef"><b>Definition:</b> node.h:40</div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
<div class="ttc" id="classNode_html_a4a5391ab70a61e5bf4d2daef056a434c"><div class="ttname"><a href="classNode.html#a4a5391ab70a61e5bf4d2daef056a434c">Node::GetBbox</a></div><div class="ttdeci">BBox GetBbox()</div><div class="ttdoc">Function to get the bounding box of the stripe. </div><div class="ttdef"><b>Definition:</b> node.cpp:130</div></div>
<div class="ttc" id="structCscMatrix_html"><div class="ttname"><a href="structCscMatrix.html">CscMatrix</a></div><div class="ttdoc">Data structure for the Compressed Sparse Column Matrix. </div><div class="ttdef"><b>Definition:</b> node.h:54</div></div>
<div class="ttc" id="classNode_html_a252ea83ae41b143c652701749de63199"><div class="ttname"><a href="classNode.html#a252ea83ae41b143c652701749de63199">Node::AddCurrentSrc</a></div><div class="ttdeci">void AddCurrentSrc(double t_current)</div><div class="ttdoc">Function to add the current source. </div><div class="ttdef"><b>Definition:</b> node.cpp:168</div></div>
<div class="ttc" id="classNode_html_ad924c345106b6e7b0847762290052fac"><div class="ttname"><a href="classNode.html#ad924c345106b6e7b0847762290052fac">Node::GetVoltage</a></div><div class="ttdeci">double GetVoltage()</div><div class="ttdoc">Function to get the value of the voltage source. </div><div class="ttdef"><b>Definition:</b> node.cpp:187</div></div>
<div class="ttc" id="node_8h_html_acf0ff4a0bb7e0c9b5900382cbd2aa614"><div class="ttname"><a href="node_8h.html#acf0ff4a0bb7e0c9b5900382cbd2aa614">BBox</a></div><div class="ttdeci">std::pair&lt; int, int &gt; BBox</div><div class="ttdef"><b>Definition:</b> node.h:41</div></div>
<div class="ttc" id="structDokMatrix_html_a6d86fd874eb6e507f339699bc0764230"><div class="ttname"><a href="structDokMatrix.html#a6d86fd874eb6e507f339699bc0764230">DokMatrix::num_cols</a></div><div class="ttdeci">NodeIdx num_cols</div><div class="ttdef"><b>Definition:</b> node.h:49</div></div>
<div class="ttc" id="structCscMatrix_html_ae5f18924a98bd8115bd34bb5a61bf1c1"><div class="ttname"><a href="structCscMatrix.html#ae5f18924a98bd8115bd34bb5a61bf1c1">CscMatrix::nnz</a></div><div class="ttdeci">NodeIdx nnz</div><div class="ttdef"><b>Definition:</b> node.h:58</div></div>
<div class="ttc" id="structCscMatrix_html_a9e6fea3106af21e3c05e1c497e0ee69f"><div class="ttname"><a href="structCscMatrix.html#a9e6fea3106af21e3c05e1c497e0ee69f">CscMatrix::num_rows</a></div><div class="ttdeci">NodeIdx num_rows</div><div class="ttdef"><b>Definition:</b> node.h:56</div></div>
<div class="ttc" id="classNode_html_ad65d1c171a8fd20ef1a55ed040f11b75"><div class="ttname"><a href="classNode.html#ad65d1c171a8fd20ef1a55ed040f11b75">Node::GetGLoc</a></div><div class="ttdeci">NodeIdx GetGLoc()</div><div class="ttdoc">Get location of the node in G matrix. </div><div class="ttdef"><b>Definition:</b> node.cpp:97</div></div>
<div class="ttc" id="classNode_html_aa91dbf36b0f693850cf422bebb7632ee"><div class="ttname"><a href="classNode.html#aa91dbf36b0f693850cf422bebb7632ee">Node::GetCurrent</a></div><div class="ttdeci">double GetCurrent()</div><div class="ttdoc">Function to get the value of current at a node. </div><div class="ttdef"><b>Definition:</b> node.cpp:159</div></div>
<div class="ttc" id="classNode_html_aa0840c3cb5c7159be6d992adecd2097c"><div class="ttname"><a href="classNode.html#aa0840c3cb5c7159be6d992adecd2097c">Node::~Node</a></div><div class="ttdeci">~Node()</div><div class="ttdef"><b>Definition:</b> node.h:69</div></div>
<div class="ttc" id="classNode_html_a5937a2591132f22361ce12edfe6af39f"><div class="ttname"><a href="classNode.html#a5937a2591132f22361ce12edfe6af39f">Node::GetLayerNum</a></div><div class="ttdeci">int GetLayerNum()</div><div class="ttdoc">Get the layer number of the node. </div><div class="ttdef"><b>Definition:</b> node.cpp:44</div></div>
<div class="ttc" id="classNode_html_a297f77156d63d571f7014c78f79841af"><div class="ttname"><a href="classNode.html#a297f77156d63d571f7014c78f79841af">Node::Print</a></div><div class="ttdeci">void Print()</div><div class="ttdoc">Function to print node details. </div><div class="ttdef"><b>Definition:</b> node.cpp:112</div></div>
<div class="ttc" id="classNode_html_ab228394a1e206cf5d1bc995307f70f56"><div class="ttname"><a href="classNode.html#ab228394a1e206cf5d1bc995307f70f56">Node::SetLoc</a></div><div class="ttdeci">void SetLoc(int x, int y)</div><div class="ttdoc">Set the location of the node using x and y coordinates. </div><div class="ttdef"><b>Definition:</b> node.cpp:75</div></div>
<div class="ttc" id="structDokMatrix_html_a653139601f15712d7fea0179d19824a1"><div class="ttname"><a href="structDokMatrix.html#a653139601f15712d7fea0179d19824a1">DokMatrix::num_rows</a></div><div class="ttdeci">NodeIdx num_rows</div><div class="ttdef"><b>Definition:</b> node.h:48</div></div>
<div class="ttc" id="structCscMatrix_html_add293b1d06d14359190fc4cb3fd35714"><div class="ttname"><a href="structCscMatrix.html#add293b1d06d14359190fc4cb3fd35714">CscMatrix::num_cols</a></div><div class="ttdeci">NodeIdx num_cols</div><div class="ttdef"><b>Definition:</b> node.h:57</div></div>
<div class="ttc" id="classNode_html_a58172b29bbb26738beb36ea9c4a2f448"><div class="ttname"><a href="classNode.html#a58172b29bbb26738beb36ea9c4a2f448">Node::UpdateMaxBbox</a></div><div class="ttdeci">void UpdateMaxBbox(int dX, int dY)</div><div class="ttdoc">Function to update the stripe. </div><div class="ttdef"><b>Definition:</b> node.cpp:141</div></div>
<div class="ttc" id="structDokMatrix_html_a1474a0133b470ffb7058cc88962046e6"><div class="ttname"><a href="structDokMatrix.html#a1474a0133b470ffb7058cc88962046e6">DokMatrix::values</a></div><div class="ttdeci">std::map&lt; GMatLoc, double &gt; values</div><div class="ttdef"><b>Definition:</b> node.h:50</div></div>
<div class="ttc" id="node_8h_html_aaffe095b1e5d88040e6ca3976576fccf"><div class="ttname"><a href="node_8h.html#aaffe095b1e5d88040e6ca3976576fccf">GMatLoc</a></div><div class="ttdeci">std::pair&lt; NodeIdx, NodeIdx &gt; GMatLoc</div><div class="ttdef"><b>Definition:</b> node.h:43</div></div>
<div class="ttc" id="structCscMatrix_html_a6bd9ad7395e2e10ee4bb0cf9c1e1ddc9"><div class="ttname"><a href="structCscMatrix.html#a6bd9ad7395e2e10ee4bb0cf9c1e1ddc9">CscMatrix::col_ptr</a></div><div class="ttdeci">std::vector&lt; NodeIdx &gt; col_ptr</div><div class="ttdef"><b>Definition:</b> node.h:60</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
